<?php

if (!defined('BASEPATH'))
    exit('No direct script access allowed');

class Cadastro_pessoa extends CMS_Controller {

    function __construct() {
        parent::__construct();
        $this->load->helper('strings_helper');
        $this->load->library('session');
        $this->load->library('engage');
        $this->load->library('cep/cep');
        $this->load->library('form_validation');
        $this->load->library('motocerto/motocerto');
//        $this->load->language('motocerto/cadastro_veiculo');

        $this->load->model('anuncio_veiculo_model');
        $this->load->model('anuncio_tags_model');


        $this->load->add_module('pessoa');
        $this->load->config('pessoa/parametros');
        $this->load->model('pessoa/pessoa_model');
        $this->load->model('pessoa/rede_model');

        $this->load->add_module('veiculo');
        $this->load->config('veiculo/parametros');
        $this->load->model('veiculo/moto_modelo_dados_model');
        $this->load->model('veiculo/moto_caracteristica_model');

        $this->load->add_module('plano');
        $this->load->config('plano/parametros');
        $this->load->model('plano/plano_model');

        $this->load->add_module('tags');
        $this->load->config('tags/parametros');
        $this->load->model('tags/tags_info_model');

        $this->load->helper('html');
    }

    public function index() {
        if ($this->session->userdata('veiculo_completo') == false) {
            redirect(base_url() . 'anunciar');
        }
        $v_dados = array();
        //$v_dados['popup'] = $this->engage->embed();
        $v_dados['popup'] = '';

        if ($this->session->userdata('pessoa') != false) {
            redirect(base_url() . 'pessoa/validar');
        } else {
            $this->parser->parse_site('anunciar-3-pessoa-email', $v_dados);
        }
    }

    public function cadastrar($_mensagem = null, $token = null) {
        if ($this->session->userdata('veiculo_completo') == false) {
            redirect(base_url() . 'anunciar');
        } else {
            $this->cadastrarPessoa($_mensagem, $token, '');
        }
    }

    public function cadastrarPessoa($_mensagem = null, $token = null, $pagina = 'index') {

        $v_dados = array();

        //pre($this->input->post());
        $cep = $this->session->userdata('cep');
        //pre($token);

        $v_dados['checked_m'] = '';
        $v_dados['checked_f'] = '';
        if ($this->input->post('sexo') == 'feminino') {
            $v_dados['checked_f'] = 'checked';
        } else if ($this->input->post('sexo') == 'masculino') {
            $v_dados['checked_m'] = 'checked';
        }

        $v_dados['pagina'] = $pagina;
        $v_dados['rede'] = '';
        $v_dados['codigo_usuario'] = '';
        $v_dados['email'] = $this->input->post('email');
        $v_dados['nome'] = $this->input->post('nome');
        $v_dados['data_nascimento'] = $this->input->post('data_nascimento');
        $v_dados['cidade'] = $this->input->post('cidade');
        $v_dados['cpf'] = $this->input->post('cpf');
        $v_dados['nome_mae'] = $this->input->post('nome_mae');
        $v_dados['senha1'] = $this->input->post('senha1');
        $v_dados['senha2'] = $this->input->post('senha2');
        $v_dados['fone_celular'] = $this->input->post('fone_celular');
        $v_dados['fone_residencial'] = $this->input->post('fone_residencial');
        $v_dados['fone_comercial'] = $this->input->post('fone_comercial');
        $v_dados['cep'] = $this->input->post('cep');
        $v_dados['selected_r'] = '';
        $v_dados['selected_a'] = '';
        $v_dados['selected_t'] = '';

        if ($this->input->post('logradouro') == 'Avenida') {
            $v_dados['selected_a'] = 'selected';
        } else if ($this->input->post('logradouro') == 'Travessa') {
            $v_dados['selected_t'] = 'selected';
        } else {
            $v_dados['selected_r'] = 'selected';
        }

        $v_dados['endereco'] = $this->input->post('endereco');
        $v_dados['numero'] = $this->input->post('numero');
        $v_dados['complemento'] = $this->input->post('complemento');

        $v_dados['selected_ac'] = '';
        $v_dados['selected_al'] = '';
        $v_dados['selected_ap'] = '';
        $v_dados['selected_am'] = '';
        $v_dados['selected_ba'] = '';
        $v_dados['selected_ce'] = '';
        $v_dados['selected_df'] = '';
        $v_dados['selected_es'] = '';
        $v_dados['selected_go'] = '';
        $v_dados['selected_ma'] = '';
        $v_dados['selected_ms'] = '';
        $v_dados['selected_mt'] = '';
        $v_dados['selected_mg'] = '';
        $v_dados['selected_pa'] = '';
        $v_dados['selected_pb'] = '';
        $v_dados['selected_pr'] = '';
        $v_dados['selected_pe'] = '';
        $v_dados['selected_pi'] = '';
        $v_dados['selected_rj'] = '';
        $v_dados['selected_rn'] = '';
        $v_dados['selected_rs'] = '';
        $v_dados['selected_ro'] = '';
        $v_dados['selected_rr'] = '';
        $v_dados['selected_sc'] = '';
        $v_dados['selected_sp'] = '';
        $v_dados['selected_se'] = '';
        $v_dados['selected_to'] = '';

        $v_dados['selected_' . strtolower($this->input->post('estado'))] = 'selected';


        $v_dados['invalido'] = '';
        $v_dados['senha'] = '';
        $v_dados['cadastrado'] = '';

        if ($_mensagem != null) {
            $v_dados['invalido'] = $_mensagem['invalido'];
            $v_dados['senha'] = $_mensagem['senha'];
            $v_dados['cadastrado'] = $_mensagem['cadastrado'];
        }

        //pre('email' . $v_dados['email']);

        if ($token == null) {
            $token = $this->input->post('token');
        }
        if ($token != false) {
            $this->engage->token($token);

            $response = $this->engage->authinfo(false);
            //pre($response);

            if (isset($response['profile'])) {
                $profile = $response['profile'];
                $v_dados['rede'] = $profile['providerName'];
                $v_dados['email'] = isset($profile['email']) ? $profile['email'] : $v_dados['email'];
                $v_dados['nome'] = isset($profile['name']['formatted']) ? $profile['name']['formatted'] : $v_dados['nome'];
                $v_dados['cidade'] = isset($profile['address']['formatted']) ? $profile['address']['formatted'] : $v_dados['cidade'];
                $v_dados['data_nascimento'] = isset($profile['birthday']) ? formatarData($profile['birthday'], array('formato' => 'd/m/Y')) : $v_dados['data_nascimento'];
                $v_dados['fone_celular'] = isset($profile['phoneNumber']) ? $profile['phoneNumber'] : $v_dados['fone_celular'];
                $v_dados['codigo_usuario'] = isset($profile['googleUserId']) ? $profile['googleUserId'] : $v_dados['codigo_usuario'];

                if (isset($profile['gender']) && $profile['gender'] == 'female') {
                    $v_dados['checked_f'] = 'checked';
                } else if (isset($profile['gender']) && $profile['gender'] == 'male') {
                    $v_dados['checked_m'] = 'checked';
                }
            }

            $v_dados['codigo_usuario'] = isset($response['accessCredentials']['uid']) ? $response['accessCredentials']['uid'] : $v_dados['codigo_usuario'];
            $v_dados['codigo_usuario'] = isset($response['accessCredentials']['oauthTokenSecret']) ? $response['accessCredentials']['oauthTokenSecret'] : $v_dados['codigo_usuario'];

            /* if (($resultado = $this->pessoa_model->get_email($v_dados['email'])) != null) {
              //pular a parte de cadastro de usuário, usuario externo logado com sucesso
              $dados = array('pessoa_id' => $resultado[0]->pessoa_id);
              $this->anuncio_veiculo_model->alterar($dados, $this->session->userdata('veiculo_anuncio'));
              echo 'usuario externo já cadastrado no sistem';
              return;
              } */
        } /* else if (($resultado = $this->pessoa_model->get_email($v_dados['email'])) != null) {
          //abrir a tela pra entrar com a senha, usuário local
          pre($resultado);
          $dados = array('pessoa_id' => $resultado[0]->pessoa_id);
          $this->anuncio_veiculo_model->alterar($dados, $this->session->userdata('veiculo_anuncio'));
          echo 'usuario local já cadastrado no sistem';
          return;
          } */

        if ($cep != false && $_mensagem == null) {
            $v_dados['cep'] = $cep->cep;
            $v_dados['cidade'] = $cep->cidade;
            if(isset($cep->resultado) && isset($cep->tipo_logradouro)){
                if ($cep->resultado != '2' && $cep->tipo_logradouro == 'Avenida') {
                    $v_dados['selected_a'] = 'selected';
                } else if ($cep->resultado != '2' && $cep->tipo_logradouro == 'Travessa') {
                    $v_dados['selected_t'] = 'selected';
                } else {
                    $v_dados['selected_r'] = 'selected';
                }
            }else{
                $cep->resultado = "";
                $cep->tipo_logradouro = "";
            }

            $v_dados['endereco'] = $cep->resultado != '2' ? $cep->logradouro : $v_dados['endereco'];
            $v_dados['selected_' . strtolower($cep->uf)] = 'selected';
        }

        $this->parser->parse_site('anunciar-4-pessoa', $v_dados);
    }

    public function gravar() {
        if ($this->session->userdata('veiculo_completo') == false && $this->input->post('pagina') != 'index') {
            redirect(base_url() . 'anunciar');
        }
        $v_dados = array();
        $v_dados['invalido'] = '';
        $v_dados['senha'] = '';
        $v_dados['cadastrado'] = '';

        $this->form_validation->set_rules('email', 'Email', 'required|trim|valid_email');
        $this->form_validation->set_rules('cpf', 'CPF', 'required|trim');
        $this->form_validation->set_rules('nome', 'Nome', 'required|trim');
        $this->form_validation->set_rules('data_nascimento', 'Data Nascimento', 'required|trim');
        $this->form_validation->set_rules('nome_mae', 'Nome Mãe', 'required|trim');
        $this->form_validation->set_rules('senha1', 'Senha 1', 'required|trim');
        $this->form_validation->set_rules('senha2', 'Senha 2', 'required|trim');
        $this->form_validation->set_rules('fone_celular', 'Fone Celular', 'required|trim');
        $this->form_validation->set_rules('cep', 'CEP', 'required|trim');
        $this->form_validation->set_rules('logradouro', 'Logradouro', 'required|trim');
        $this->form_validation->set_rules('endereco', 'Endereco', 'required|trim');
        $this->form_validation->set_rules('estado', 'Estado', 'required|trim');
        $this->form_validation->set_rules('cidade', 'Cidade', 'required|trim');
        $this->form_validation->set_rules('sexo', 'Sexo', 'required');

        if ($this->form_validation->run() == FALSE) {
            //echo 'Não passou no form validation';
            $this->cadastrar();
        } else {
            $parametro = array();
            $cpf = $this->input->post('cpf');
            $parametro['entrada'] = $cpf;
            $cpf = limpaString($parametro);

            $senha1 = $this->input->post('senha1');
            $senha2 = $this->input->post('senha2');
            //pre($senha1);
            $email = $this->input->post('email');
            if (validaCpf($cpf) == FALSE) {
                $v_dados['invalido'] = '<span class="aviso">CPF inválido</span>';
                $this->cadastrar($v_dados);
            } else if ($senha1 != $senha2) {
                $v_dados['senha'] = '<span class="aviso">As senhas não conferem</span>';
                $this->cadastrar($v_dados);
            } else if ($this->pessoa_model->get_cpf($cpf) != null) {
                $v_dados['invalido'] = '<span class="aviso">O CPF já está cadastrado no sistema</span>';
                $this->cadastrar($v_dados);
            } else if ($this->pessoa_model->get_email($email) != null) {
                $v_dados['cadastrado'] = '<span class="aviso">O E-mail já está cadastrado no sistema</span>';
                $this->cadastrar($v_dados);
            } else {
                $pessoa = array();
                $pessoa['status_id'] = 1;
                $pessoa['nome'] = $this->input->post('nome');
                $id = $this->pessoa_model->cadastrar($pessoa);

                $pessoaFisica = array();
                $pessoaFisica['pessoa_id'] = $id;
                $pessoaFisica['cpf'] = $cpf;
                $pessoaFisica['data_nascimento'] = formatarData($this->input->post('data_nascimento'), array('formato' => 'd/m/Y'));

                $this->pessoa_model->cadastrar_p_fisica($pessoaFisica);

                $contato = array();
                $contato['pessoa_id'] = $id;
                $contato['email'] = $this->input->post('email');
                $contato['pessoa_contato_tipo_id'] = '1';
                $contato['telefone'] = $this->input->post('fone_celular');

                $this->pessoa_model->cadastrar_p_contato($contato);

                if ($this->input->post('fone_residencial') != false) {
                    $contato['pessoa_contato_tipo_id'] = '2';
                    $contato['telefone'] = $this->input->post('fone_residencial');
                    $this->pessoa_model->cadastrar_p_contato($contato);
                }

                if ($this->input->post('fone_comercial') != false) {
                    $contato['pessoa_contato_tipo_id'] = '3';
                    $contato['telefone'] = $this->input->post('fone_comercial');
                    $this->pessoa_model->cadastrar_p_contato($contato);
                }

                $endereco = array();
                $endereco['pessoa_endereco_tipo_id'] = 1;
                $endereco['pessoa_id'] = $id;
                $parametro['entrada'] = $this->input->post('cep');
                $endereco['cep'] = limpaString($parametro);
                $endereco['logradouro'] = $this->input->post('logradouro');
                $endereco['endereco'] = $this->input->post('endereco');
                $endereco['numero'] = $this->input->post('numero');
                $endereco['complemento'] = $this->input->post('complemento');
                $endereco['cidade'] = $this->input->post('cidade');
                $endereco['estado'] = $this->input->post('estado');
                $endereco['pais'] = 'BR';

                $this->pessoa_model->cadastrar_p_endereco($endereco);

                $extra = array();
                $extra['pessoa_id'] = $id;
                $extra['nome_mae'] = $this->input->post('nome_mae');
                $extra['sexo'] = $this->input->post('sexo');

                $this->pessoa_model->cadastrar_p_extra($extra);

                if ($this->input->post('rede') != false && $this->input->post('rede') != '') {
                    $rede = $this->input->post('rede');
                    $rede = $this->rede_model->consultarByNome($rede);

                    if ($rede != null) {
                        $pessoaRede = array();
                        $pessoaRede['pessoa_id'] = $id;
                        $pessoaRede['rede_id'] = $rede->id;
                        $pessoaRede['codigo_usuario'] = $this->input->post('codigo_usuario');

                        $this->pessoa_model->cadastrar_p_externa($pessoaRede);
                    }
                }

                $pessoaUsuario = array();
                $pessoaUsuario['pessoa_id'] = $id;
                $pessoaUsuario['usuario'] = $contato['email'];
                $pessoaUsuario['senha'] = md5($senha1);
                $this->pessoa_model->cadastrar_p_usuario($pessoaUsuario);
                if ($this->input->post('pagina') == 'index') {
                    redirect(base_url());
                } else {
                    $this->validar(true, $pessoaUsuario['usuario'], $pessoaUsuario['senha']);
                }
            }
        }
    }

    public function validar($cadastro = false, $email = null, $senha = null) {
        //pre(md5('123456'));

        $tags = array();
        $this->form_validation->set_rules('email', 'Email', 'required|trim|valid_email');
        $this->form_validation->set_rules('senha', 'Senha', 'required|trim');
        $v_dados = $this->motocerto->menu_acesso();
        $pessoa = $this->session->userdata('pessoa');


        $v_dados['login_logout'] = 'Sair';


        //pre($v_dados);
        if ($this->form_validation->run() == FALSE && $this->input->post('token') == false && !$cadastro && $pessoa == false) {
            redirect(base_url() . 'pessoa');
            //echo 'nao passou no form validation';
        } else {

            if ($this->input->post('token') != false) {
                $this->engage->token($this->input->post('token'));

                $response = $this->engage->authinfo(false);
                //pre($response);
                $v_dados['codigo_usuario'] = '';

                if (isset($response['profile'])) {
                    $profile = $response['profile'];
                    $v_dados['codigo_usuario'] = isset($profile['googleUserId']) ? $profile['googleUserId'] : $v_dados['codigo_usuario'];
                }

                $v_dados['codigo_usuario'] = isset($response['accessCredentials']['uid']) ? $response['accessCredentials']['uid'] : $v_dados['codigo_usuario'];
                $v_dados['codigo_usuario'] = isset($response['accessCredentials']['oauthTokenSecret']) ? $response['accessCredentials']['oauthTokenSecret'] : $v_dados['codigo_usuario'];

                $b_consultar = $this->pessoa_model->consultar_pessoa_externa($v_dados['codigo_usuario']);

                if ($b_consultar == null) {
                    $this->cadastrar(null, $this->input->post('token'));
                    return;
                } else {
                    $email = $b_consultar->usuario;
                    $senha = $b_consultar->senha;
                }
            } else if ($email == null && $senha == null) {
                $email = $this->input->post('email');
                $senha = md5($this->input->post('senha'));
            } else {
                redirect(base_url() . 'pessoa');
            }
            //pre($pessoa);
            //$v_dados = $this->iniciar_array($v_dados);
            $v_dados['nome'] = '';
            $v_dados['email'] = '';
            $v_dados['telefone_0'] = '';
            $v_dados['telefone_1'] = '';
            $v_dados['telefone_2'] = '';
            $v_dados['cep'] = '';
            $v_dados['logradouro'] = '';
            $v_dados['endereco'] = '';
            $v_dados['numero'] = '';
            $v_dados['cidade'] = '';
            $v_dados['complemento'] = '';
            $v_dados['estado'] = '';
            $v_dados['cpf'] = '';
            $v_dados['data_nascimento'] = '';
            $v_dados['nome_mae'] = '';
            $v_dados['checked_m'] = '';
            $v_dados['checked_f'] = '';

            $v_dados['selected_r'] = '';
            $v_dados['selected_a'] = '';
            $v_dados['selected_t'] = '';

            $v_dados['selected_ac'] = '';
            $v_dados['selected_al'] = '';
            $v_dados['selected_ap'] = '';
            $v_dados['selected_am'] = '';
            $v_dados['selected_ba'] = '';
            $v_dados['selected_ce'] = '';
            $v_dados['selected_df'] = '';
            $v_dados['selected_es'] = '';
            $v_dados['selected_go'] = '';
            $v_dados['selected_ma'] = '';
            $v_dados['selected_ms'] = '';
            $v_dados['selected_mt'] = '';
            $v_dados['selected_mg'] = '';
            $v_dados['selected_pa'] = '';
            $v_dados['selected_pb'] = '';
            $v_dados['selected_pr'] = '';
            $v_dados['selected_pe'] = '';
            $v_dados['selected_pi'] = '';
            $v_dados['selected_rj'] = '';
            $v_dados['selected_rn'] = '';
            $v_dados['selected_rs'] = '';
            $v_dados['selected_ro'] = '';
            $v_dados['selected_rr'] = '';
            $v_dados['selected_sc'] = '';
            $v_dados['selected_sp'] = '';
            $v_dados['selected_se'] = '';
            $v_dados['selected_to'] = '';

            if ($pessoa == false || $this->form_validation->run() != FALSE) {
                $b_consultar = $this->pessoa_model->consultar_p_usuario($email, $senha);
                if ($b_consultar != null) {
                    foreach ($b_consultar as $key => $value) {
                        $v_dados['pessoa_id'] = $value->id;
                        $v_dados['nome'] = $value->nome;
                        $v_dados['email'] = $value->email;
                        $v_dados['usuario'] = $value->usuario;
                        $v_dados['telefone_' . $key] = $value->telefone;
                        $v_dados['cep'] = $value->cep;
                        $v_dados['logradouro'] = $value->logradouro;
                        $v_dados['endereco'] = $value->endereco;
                        $v_dados['numero'] = $value->numero;
                        $v_dados['cidade'] = $value->cidade;
                        $v_dados['complemento'] = $value->complemento;
                        $v_dados['estado'] = $value->estado;
                        $v_dados['cpf'] = $value->cpf;
                        $v_dados['data_nascimento'] = formatarData($value->data_nascimento, array('formato' => 'd/m/Y'));
                        $v_dados['nome_mae'] = $value->nome_mae;
                        $v_dados['checked_m'] = '';
                        $v_dados['checked_f'] = '';
                        $v_dados['checked_' . strtolower($value->sexo)] = 'checked';
                    }

                    if ($v_dados['logradouro'] == 'Avenida') {
                        $v_dados['selected_a'] = 'selected';
                    } else if ($v_dados['logradouro'] == 'Travessa') {
                        $v_dados['selected_t'] = 'selected';
                    } else {
                        $v_dados['selected_r'] = 'selected';
                    }

                    $v_dados['selected_' . strtolower($v_dados['estado'])] = 'selected';

                    $this->session->set_userdata('pessoa', $v_dados);
                } else {
                    echo 'usuario e/ou senha inválidos';
                    return;
                    //echo current_url();
                    //redirect(base_url() . 'pessoa');
                }
            } else {
                $v_dados = $pessoa;
            }

            $basico = $this->session->userdata('veiculo_basico');
            //pre($basico);
            $completo = $this->session->userdata('veiculo_completo');
            //pre($completo);
            //plano
            if ($basico != false && $completo != false) {
                $b_consultar = $this->plano_model->getPlano($completo['plano_id']);
                $v_dados['plano_id'] = $completo['plano_id'];
                $v_dados['plano_nome'] = $b_consultar == null ? '' : $b_consultar->nome;
                $v_dados['plano_valor'] = $b_consultar == null ? '' : 'R$ ' . $b_consultar->valor;

                //cadastro basico do veículo
                $v_dados['nome_proprietario'] = $basico['nome'];
                $v_dados['renavam'] = $basico['renavam'];
                $v_dados['placa'] = $basico['placa'];

                //cadastro completo do veiculo
                $b_consultar = $this->moto_modelo_dados_model->getAnoModeloFull($completo['moto_modelo_dados_id']);
                $v_dados['marca'] = $b_consultar == null ? '' : $b_consultar->marca;
                $tags['marca'] = $v_dados['marca'];
                $v_dados['modelo'] = $b_consultar == null ? '' : $b_consultar->modelo;
                $tags['modelo'] = $v_dados['modelo'];
                $v_dados['ano_fab'] = $b_consultar == null ? '' : $completo['ano_fabricacao']; // == $completo['moto_modelo_dados_id'] ? $b_consultar->ano : $this->moto_modelo_dados_model->getAnoModeloFull($completo['ano_fabricacao'])->ano;
                $tags['ano_fab'] = $v_dados['ano_fab'];
                $v_dados['ano_modelo'] = $b_consultar == null ? '' : $b_consultar->ano;
                $tags['ano_modelo'] = $v_dados['ano_modelo'];
                $v_dados['cilindrada'] = $b_consultar == null ? '' : $b_consultar->cilindrada . 'cc';
                //$tags['cilindrada'] = $v_dados['cilindrada'];
                $v_dados['estilo'] = $b_consultar == null ? '' : $b_consultar->estilo;
                $tags['estilo'] = $v_dados['estilo'];
                $v_dados['quilometragem'] = $completo['quilometragem'];
                $tags['quilometragem'] = $v_dados['quilometragem'];
                $v_dados['marchas'] = ($b_consultar = $this->moto_caracteristica_model->getCaracteristicaValor($completo['caracteristicas']['marchas'])) == null ? '' : $b_consultar->valor;
                $v_dados['refrigeracao'] = ($b_consultar = $this->moto_caracteristica_model->getCaracteristicaValor($completo['caracteristicas']['refrigeracao'])) == null ? '' : $b_consultar->valor;
                $v_dados['alimentacao'] = ($b_consultar = $this->moto_caracteristica_model->getCaracteristicaValor($completo['caracteristicas']['alimentacao'])) == null ? '' : $b_consultar->valor;
                $v_dados['motor'] = ($b_consultar = $this->moto_caracteristica_model->getCaracteristicaValor($completo['caracteristicas']['motor'])) == null ? '' : $b_consultar->valor;
                $v_dados['partida'] = ($b_consultar = $this->moto_caracteristica_model->getCaracteristicaValor($completo['caracteristicas']['partida'])) == null ? '' : $b_consultar->valor;
                $v_dados['freio'] = ($b_consultar = $this->moto_caracteristica_model->getCaracteristicaValor($completo['caracteristicas']['freio'])) == null ? '' : $b_consultar->valor;
                $v_dados['cor_p'] = ($b_consultar = $this->moto_caracteristica_model->getCaracteristicaValor($completo['caracteristicas']['cor_p'])) == null ? '' : $b_consultar->valor;
                $tags['cor'] = $v_dados['cor_p'];
                $v_dados['cor_s'] = ($b_consultar = $this->moto_caracteristica_model->getCaracteristicaValor($completo['caracteristicas']['cor_s'])) == null ? '' : $b_consultar->valor;

                $v_dados['adicionais'] = array();
                foreach ($completo['informacoes'] as $key => $value) {
                    $v_dados['adicionais'][$key]['adicional'] = ($b_consultar = $this->moto_caracteristica_model->getCaracteristicaValor($value)) == null ? '' : $b_consultar->valor;
                    $tags[$key] = $b_consultar->valor;
                }

                $v_dados['observacao'] = $completo['observacao'];
                $v_dados['preco'] = 'R$ ' . formata_numero_view($completo['preco']);

                $this->session->set_userdata('tags', $tags);
            }

            if ($this->input->post('pagina') == 'home') {
                redirect(base_url() . 'index');
            } else if ($this->input->post('pagina') == 'meus-veiculos') {
                redirect(base_url() . 'pessoa/anuncios');
            } else if ($this->input->post('pagina') == 'meus-veiculos-favoritos') {
                redirect(base_url() . 'pessoa/favoritos');
            } else if ($this->input->post('pagina') == 'meus-dados') {
                redirect(base_url() . 'pessoa/meus_dados');
            } //else if ($this->input->post('pagina') != false) {
            //  $this->parser->parse_site($this->input->post('pagina'), $v_dados);
            //} 
            else {
                $this->parser->parse_site('anunciar-5-pagamento', $v_dados);
            }
            //pre($v_dados);
        }
    }

    public function logout() {
        $this->session->unset_userdata('veiculo_basico');
        $this->session->unset_userdata('veiculo_completo');
        $this->session->unset_userdata('tags');
        $this->session->unset_userdata('pessoa');

        redirect(base_url() . 'anunciar');
    }

    public function concluir() {
        $basico = $this->session->userdata('veiculo_basico');
        $completo = $this->session->userdata('veiculo_completo');
        $tags = $this->session->userdata('tags');

        if ($completo == false || $basico == false) {
            redirect(base_url() . 'anunciar');
        }

        $dados = array();
        $dados['pessoa_id'] = $this->input->post('pessoa_id');

        if ($dados['pessoa_id'] == false) {
            redirect(base_url() . 'pessoa');
        }

        $dados['anuncio_status_id'] = 1;
        $dados['veiculo_tipo_id'] = 1;
        $dados['veiculo_situacao_id'] = 2;
        $dados['plano_id'] = $completo['plano_id'];
        $dados['ano_fabricacao'] = $this->input->post('ano_fab');
        $dados['moto_modelo_dados_id'] = $completo['moto_modelo_dados_id'];
        $dados['nome_proprietario'] = $basico['nome'];
        $dados['renavam'] = $basico['renavam'];
        $dados['placa'] = $basico['placa'];
        $dados['preco'] = $completo['preco'];
        $dados['quilometragem'] = formata_numero_db($completo['quilometragem'], 0);
        $dados['observacao'] = $completo['observacao'];

        //pre($dados);

        $id = $this->anuncio_veiculo_model->cadastrar($dados);

        $caracteristicas = array();
        //pre($completo);
        foreach ($completo['caracteristicas'] as $value) {
            $caracteristicas['anuncio_veiculos_id'] = $id;
            $caracteristicas['moto_caracteristica_valor_id'] = $value;
            $this->anuncio_veiculo_model->cadastrarCaracteristicas($caracteristicas);
        }


        foreach ($completo['informacoes'] as $value) {
            $caracteristicas['anuncio_veiculos_id'] = $id;
            $caracteristicas['moto_caracteristica_valor_id'] = $value;
            $this->anuncio_veiculo_model->cadastrarCaracteristicas($caracteristicas);
        }

        foreach ($tags as $value) {
            $tag = explode(' ', $value);
            if ($tag != false) {
                foreach ($tag as $valor) {
                    if ($valor != '') {
                        $b_consultar = $this->tags_info_model->cadastrar(array('nome' => $valor));
                        if ($b_consultar != null) {
                            $dados = array();
                            $dados['anuncio_veiculos_id'] = $id;
                            $dados['tags_id'] = $b_consultar;
                            $this->anuncio_tags_model->cadastrar($dados);
                        }
                    }
                }
            }
        }

        $this->session->unset_userdata('veiculo_basico');
        $this->session->unset_userdata('veiculo_completo');
        $this->session->unset_userdata('tags');


        $this->parser->parse_site('anunciar-6-sucesso', array());
    }

    public function meus_dados_gravar($tipo) {
        $pessoa = $this->session->userdata('pessoa');
        //pre($pessoa);
        if ($pessoa == false) {
            redirect(base_url() . 'index');
        } else {
            if ($tipo == '1') {
                $this->form_validation->set_rules('usuario', 'usuario', 'required|trim|valid_email');
                $this->form_validation->set_rules('sexo', 'sexo', 'required|trim');
                $this->form_validation->set_rules('data_nascimento', 'data_nascimento', 'required|trim');

                if ($this->form_validation->run()) {
                    $id = $this->input->post('pessoa');

                    $usuario = array();
                    $usuario['usuario'] = $this->input->post('usuario');
                    $this->pessoa_model->alterar_p_usuario($usuario, $id);

                    $extra = array();
                    $extra['sexo'] = $this->input->post('sexo');
                    $extra['sexo'] = $extra['sexo'] == 'masculino' ? 'm' : 'f';

                    $this->pessoa_model->alterar_p_extra($extra, $id);

                    $pessoaFisica = array();
                    $pessoaFisica['data_nascimento'] = formatarData($this->input->post('data_nascimento'), array('formato' => 'd/m/Y'));

                    $this->pessoa_model->alterar_p_fisica($pessoaFisica, $id);
                    //foreach ($pessoa as $key => $value) {
                    $pessoa['data_nascimento'] = $this->input->post('data_nascimento'); //$pessoaFisica['data_nascimento'];
                    $pessoa['checked_' . $extra['sexo']] = 'checked';
                    $pessoa['usuario'] = $usuario['usuario'];
                    //}
                    $nova_senha = array();
                    $nova_senha['1'] = $this->input->post('nova_senha');
                    $nova_senha['2'] = $this->input->post('nova_senha_2');
                    //pre($nova_senha);

                    if ($nova_senha['1'] != '' && $nova_senha['2'] != '') {
                        if ($nova_senha['1'] != $nova_senha['2']) {
                            echo 'As senhas não conferem';
                        } else if ($this->pessoa_model->consultar_usuario($id, md5($this->input->post('senha'))) == null) {
                            echo 'A senha atual não confere';
                        } else {
                            $usuario['senha'] = md5($nova_senha['1']);
                            $this->pessoa_model->alterar_p_usuario($usuario, $id);
                        }
                    }
                }
            } else {
                $id = $this->input->post('pessoa');
                $telefone = array();

                $contato = array();
                $contato['telefone'] = $this->input->post('telefone_1');
                $telefone['0'] = $contato['telefone'];
                $this->pessoa_model->alterar_p_contato($contato, $id, '1');

                $contato['telefone'] = $this->input->post('telefone_2');
                $telefone['1'] = $contato['telefone'];
                $this->pessoa_model->alterar_p_contato($contato, $id, '2');

                $contato['telefone'] = $this->input->post('telefone_3');
                $telefone['2'] = $contato['telefone'];
                $this->pessoa_model->alterar_p_contato($contato, $id, '3');

                $endereco = array();
                //$endereco['pessoa_endereco_tipo_id'] = 1;
                //$endereco['pessoa_id'] = $id;
                $parametro['entrada'] = $this->input->post('cep');
                $endereco['cep'] = limpaString($parametro);
                $endereco['logradouro'] = $this->input->post('logradouro');
                $endereco['endereco'] = $this->input->post('endereco');
                $endereco['numero'] = $this->input->post('numero');
                $endereco['complemento'] = $this->input->post('complemento');
                $endereco['cidade'] = $this->input->post('cidade');
                $endereco['estado'] = $this->input->post('estado');
                //$endereco['pais'] = 'BR';

                $this->pessoa_model->alterar_p_endereco($endereco, $id, 1);

                //foreach ($pessoa as $key => $value) {
                $pessoa['telefone_0'] = $telefone[0];
                $pessoa['telefone_1'] = $telefone[1];
                $pessoa['telefone_2'] = $telefone[2];
                $pessoa['cep'] = $endereco['cep'];
                $pessoa['logradouro'] = $endereco['logradouro'];
                $pessoa['endereco'] = $endereco['endereco'];
                $pessoa['numero'] = $endereco['numero'];
                $pessoa['cidade'] = $endereco['cidade'];
                $pessoa['complemento'] = $endereco['complemento'];
                $pessoa['estado'] = $endereco['estado'];
                //}
            }

            $this->session->set_userdata('pessoa', $pessoa);
            $this->meus_dados();
        }
    }

    public function sessao() {
        $pessoa = $this->session->userdata('pessoa');
        if ($pessoa == false) {
            $v_dados = array();
            $v_dados['pagina'] = 'home';
            $this->parser->parse_site('login', $v_dados);
            //redirect(base_url() . 'index');
            /* $b_consultar = $this->pessoa_model->consultar_p_usuario('lucasvolgarini@gmail.com', md5('123456'));
              $this->session->set_userdata('pessoa', $b_consultar); */
        } else {
            $this->session->unset_userdata('pessoa');
            redirect(base_url());
        }
    }

    public function meus_dados() {
        //$this->session->set_userdata('pessoa', $b_consultar);
        $pessoa = $this->session->userdata('pessoa');

        //pre($pessoa);
        if ($pessoa == false) {
            $v_dados = $this->motocerto->menu_acesso();
            $v_dados['pagina'] = 'meus-dados';
            $this->parser->parse_site('login', $v_dados);
            //redirect(base_url() . 'index');
            /* $b_consultar = $this->pessoa_model->consultar_p_usuario('lucasvolgarini@gmail.com', md5('123456'));
              $this->session->set_userdata('pessoa', $b_consultar); */
        } else {
            //$b_consultar = $pessoa;
            $v_dados = $this->motocerto->menu_acesso($pessoa);
            $this->parser->parse_site('meus-dados', $v_dados);
        }
    }

    public function anuncios() {
        $pessoa = $this->session->userdata('pessoa');
        $v_dados = $this->motocerto->menu_acesso();
        //pre($pessoa);
        if ($pessoa == false) {
            $v_dados['pagina'] = 'meus-veiculos';
            $this->parser->parse_site('login', $v_dados);
        } else {
            $v_dados['anuncios'] = array();
            $b_consultar = $this->anuncio_veiculo_model->cosultarVeiculosHome(false, false, false, false, null, $pessoa['pessoa_id']);
            //pre($b_consultar);
            $favoritos = $this->session->userdata('favoritos');
            if ($b_consultar != null) {
                foreach ($b_consultar as $key => $value) {
                    $v_dados['anuncios'][$key]['modelo'] = $value->marca . ' ' . $value->modelo;
                    $v_dados['anuncios'][$key]['id'] = $value->id;
                    $data = explode(' ', $value->data);
                    $v_dados['anuncios'][$key]['data'] = formatarData($data[0] . ' ' . $data[1], array('formato' => 'd/m/Y às H:i:s'));
                    $v_dados['anuncios'][$key]['plano'] = $value->plano;
                    $v_dados['anuncios'][$key]['plano_valor'] = 'R$ ' . formata_numero_view($value->plano_valor);
                    $v_dados['anuncios'][$key]['status'] = $value->status;
                    $v_dados['anuncios'][$key]['preco'] = formata_numero_view($value->preco);
                    $v_dados['anuncios'][$key]['cidade'] = $value->cidade;
                    $v_dados['anuncios'][$key]['uf'] = $value->estado;
                    $v_dados['anuncios'][$key]['km'] = $value->quilometragem;
                    $v_dados['anuncios'][$key]['ano_fab'] = $value->ano_fabricacao;
                    $v_dados['anuncios'][$key]['ano_mod'] = $value->ano_modelo;
                    $v_dados['anuncios'][$key]['cilindrada'] = $value->cilindrada;
                    $v_dados['anuncios'][$key]['email'] = $pessoa['email'];
                    $v_dados['anuncios'][$key]['cor_p'] = ($result = $this->anuncio_veiculo_model->consultarCorVeiculo(8, $value->id)) == null ? '' : $result->valor;
                    $v_dados['anuncios'][$key]['cor_s'] = ($result = $this->anuncio_veiculo_model->consultarCorVeiculo(9, $value->id)) == null ? '' : $result->valor;
                    $v_dados['anuncios'][$key]['disabled'] = '';
                    $v_dados['anuncios'][$key]['status_id'] = '';
                    if ($value->anuncio_status_id == 1) {
                        $v_dados['anuncios'][$key]['bt_status'] = 'Marcar como Vendido';
                        $v_dados['anuncios'][$key]['status_id'] = '4';
                    } else if ($value->anuncio_status_id == 2 || $value->anuncio_status_id == 3) {
                        $v_dados['anuncios'][$key]['bt_status'] = 'Reativar Anúncio';
                        $v_dados['anuncios'][$key]['status_id'] = $value->anuncio_status_id;
                    } else {
                        $v_dados['anuncios'][$key]['bt_status'] = 'Veículo Vendido';
                        $v_dados['anuncios'][$key]['disabled'] = 'disabled';
                    }

                    if ($favoritos != false && in_array($value->id, $favoritos)) {
                        $v_dados['anuncios'][$key]['imagem'] = 'ico-star-on-3';
                        $v_dados['anuncios'][$key]['favorito'] = 'Remover ' . $v_dados['anuncios'][$key]['modelo'] . ' das Minhas Motos Favoritas';
                    } else {
                        $v_dados['anuncios'][$key]['favorito'] = 'Adicionar ' . $v_dados['anuncios'][$key]['modelo'] . ' as Minhas Motos Favoritas';
                        $v_dados['anuncios'][$key]['imagem'] = 'ico-favorito';
                    }

                    $v_dados['anuncios'][$key]['fotos'] = $this->motocerto->get_imagens($value->id); //$this->_produtos_anuncios($value->id);
                }
            }
            $this->parser->parse_site('meus-veiculos', $v_dados);
        }
    }

//    private function _produtos_anuncios($_id_anuncio) {
//        $consultar_imagem = $this->anuncio_veiculo_model->consultarImagens($_id_anuncio);
//        $imagens = array();
//        if ($consultar_imagem != null) {
//            foreach ($consultar_imagem as $k => $v) {
//                $imagens[$k] = '<a href="' . base_url() . 'imagens/cms/img/get/' . $v->id . '/' . $v->legenda . '" title="' . $v->id . '_' . $v->legenda . '" rel="fancybox"><img src="' . base_url() . 'imagens/cms/img/thumb/' . $v->id . '/30/116/116" width="116" height="116" alt="' . $v->legenda . '" id="' . $v->id . '"></a>';
//            }
//        }
//        return ul($imagens);
//    }

    public function cep($_cep) {
        /*if ($this->session->userdata('veiculo_completo') == false) {
            redirect(base_url() . 'anunciar');
        }*/
        $data = array();
        $data['envio'] = 'correio';
        //$data['envio'] = 'develman';
        //$data['envio'] = 'republica_virtual';
        $data['cep'] = $_cep;

        $retorno = $this->cep->get_cep($data);
        //pre($retorno);
        echo $retorno;
    }

}

